iT邦幫忙

DAY 30
2

C#技術分享系列 第 30

C#技術分享30-計算日期過了幾天

  • 分享至 

  • xImage
  •  

本例是計算距離上次發薪日過了幾天 及 下次發薪日還剩幾天
假設 每月5號是發薪日,通常是用大的日期減小的日期
或是兩個日期相減取絕對值 也可以。
TimeSpan ts1 = DateTime.Now - LastSalaryDay;
用ts1.Days 來取得 距離的天數
TimeSpan 物件表示測量的時間間隔或期間,可為正或負的天數、時數、分鐘數、秒數和秒數的分數。用來測量期間的最大時間單位是「天」。為保持一致性,會以「天」為單位測量時間間隔,因為更大時間單位 (例如月和年) 的天數會不同。
以下是範例code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
    class Program
    {
        static void Main(string[] args)
        {
            DateTime LastSalaryDay = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 5);
            DateTime NextSalaryDay = new DateTime(DateTime.Now.AddMonths(1).Year, DateTime.Now.AddMonths(1).Month, 5);
            System.Console.WriteLine("上次發薪日: {0} ", LastSalaryDay.ToString("yyyy/MM/dd"));
            TimeSpan ts1 = DateTime.Now - LastSalaryDay;
            Console.WriteLine("距離上次發薪日已過了{0}天",ts1.Days);
            System.Console.WriteLine("下次發薪日: {0} ", NextSalaryDay.ToString("yyyy/MM/dd"));
           //用大的日期 減小的日期
           // TimeSpan ts2 =NextSalaryDay - DateTime.Now;
            TimeSpan ts2 = DateTime.Now - NextSalaryDay;   //小的日期減大的日期         
            Console.WriteLine("距離下次發薪日還有{0}天", Math.Abs(ts2.Days)); //距離幾天一定是正的 用Math.Abs取絕對值
            System.Console.ReadLine();
        }
    }
 

上一篇
C#技術分享29-負數的無條件進位
系列文
C#技術分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
SunAllen
iT邦研究生 1 級 ‧ 2012-10-23 00:20:23

雖然今年在拜讀C#時,也是有看沒有懂...但是灑花灑花恭喜thc大大

0
thc
iT邦研究生 5 級 ‧ 2012-10-23 07:27:04

以不看不用懂為目標前進吧

0
ted99tw
iT邦高手 1 級 ‧ 2012-10-23 08:55:56

讚讚讚
酷啦!!!
灑花灑花灑花

我要留言

立即登入留言